//接口的创建和使用

//使用interface关键字定义接口
//定义一个shape形状接口
interface Shape {
    // 接口中的变量类型默认为public static final
    // 接口中的方法默认是public abstract
    double area();

    double perimeter();
}

// 实现接口 使用implements关键字
class Circle implements Shape {
    private double radius;

    public Circle(double radius)// java不支持在构造参数中设置默认值
    {
        this.radius = radius;
    }

    public double area() {
        return Math.PI * radius * radius;
    }

    public double perimeter() {
        return 2 * Math.PI * radius;
    }

}

// 测试接口
public class test {
    public static void main(String[] args) {
        // 创建一个Circle对象
        Circle c = new Circle(5.0);

        // 调用接口方法
        System.out.println("Circle area:" + c.area());
        System.out.println("Circle perimeter:" + c.perimeter());
    }
}


//一个类可以实现多个接口，从而实现多继承的效果
interface A {
    void methodA();
}

interface B {
    void methodB();
}

class C implements A, B {
    @Override
    public void methodA() {
        System.out.println("Method A");
    }

    @Override
    public void methodB() {
        System.out.println("Method B");
    }
}